/**********************************************************************************************************************
 *
 * Project:    mGameEngine
 * File:       shape.h
 * Author:     karooolek
 * Created on: 2009-10-08
 *
 **********************************************************************************************************************/

#ifndef SHAPE_H_
#define SHAPE_H_

#include "shapetype.h"

namespace mGameEngine
{

/**
 * Geometry shape interface.
 */
class Shape
{
protected:
    /**
     * Type.
     */
    ShapeType _type;

    /**
     * Create geometry shape.
     */
    Shape() : _type(SHAPE_NONE) {}

    /**
     * Create geometry shape with specified type.
     * @param type shape type.
     */
    Shape(ShapeType type) : _type(type) {}

public:
    /**
     * Destroy geometry shape.
     */
    virtual ~Shape() {}

    /**
     * Get shape type.
     * @return shape type.
     */
    ShapeType getShapeType() const
    {
        return _type;
    }
};

}

#endif // SHAPE_H_
